草庐IT

Java String.replaceAll 正则表达式

全部标签

c# - lambda 表达式中的事件 - C# 编译器错误?

我正在考虑使用lamba表达式来允许以强类型方式连接事件,但中间有一个监听器,例如给定以下类(class)classProducer{publiceventEventHandlerMyEvent;}classConsumer{publicvoidMyHandler(objectsender,EventArgse){/*...*/}}classListener{publicstaticvoidWireUp(Expression>expr){/*...*/}}事件将被连接为:Listener.WireUp((p,c)=>p.MyEvent+=c.MyHandler);但是这会导致编译器错误

c# - 将 lambda 表达式转换为用于缓存的唯一键

我查看了与此类似的其他问题,但找不到任何可行的答案。我一直在使用以下代码生成唯一键,以便将我的linq查询结果存储到缓存中。stringkey=((LambdaExpression)expression).Body.ToString();foreach(ParameterExpressionparaminexpression.Parameters){stringname=param.Name;stringtypeName=param.Type.Name;key=key.Replace(name+".",typeName+".");}returnkey;它似乎适用于包含整数或bool值的

c# - 将过滤器表达式动态添加到数组

我有这个示例,它创建了3个表达式并将它们添加到一个表达式数组中。现在我想知道如何在循环中为未知数量的表达式做同样的事情。Expression>filter1=c=>c.City.StartsWith("S");Expression>filter2=c=>c.City.StartsWith("M");Expression>filter3=c=>c.ContactTitle=="Owner";Expression>[]filterExpressions=newExpression>[]{filter1,filter2,filter3}; 最佳答案

C# 动态方法 - IL 与表达式树

我正在玩和学习ANTLR,为.NET构建一个简单的DSL,将字符串中的脚本转换为动态方法。我的第一个想法是翻译成IL操作码,但现在我正在阅读有关DM创建的表达式树。似乎我可以使用表达式树生成任何方法,就像IL代码一样?谢谢!代码:https://github.com/ricardoborges/NPortugol2 最佳答案 ILCode为您提供更多功能。例如,您可以使用它发出适用于.NETCLR的代码,但不一定是您可以用C#或VB.NET编写的代码。但总的来说是的,你应该能够用表达式树做任何你想做的事情,而且它们更容易理解。发出I

c# - 有没有办法在正则表达式中执行动态替换?

有没有办法在C#4.0中使用匹配中包含的文本的函数进行正则表达式替换?在php中有这样的东西:reg_replace('helloworldyay','(?=')\s(?=')',randomfunction('$0'));它为每个匹配项提供独立的结果,并在找到每个匹配项的地方替换它。 最佳答案 参见Regex.Replace具有MatchEvaluator重载的方法。MatchEvaluator是一种您可以指定的方法,用于处理每个单独的匹配项并返回应用作该匹配项的替换文本的内容。例如,这个...Thecatjumpedoverth

c# - 正则表达式忽略捕获的中间部分

我想要一个单一的正则表达式,当应用于:“firstsecondthird”将匹配“firstthird”(在单个组中,即在C#中Match.Value将等于“firstthird”)。这可能吗?我们可以忽略后缀或前缀,但中间? 最佳答案 匹配以“first”开头,具有零个或多个其他字符,然后以“third”结尾的字符串。是这个意思吗?"^first(.*)third$"或者,您的意思是,如果您找到一个字符串“firstsecondthird”,则将除“first”和“third”之外的所有内容都丢弃?replace("^(first

c# - &&= 在 C# 中? ( bool 表达式)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whyarethereno||=or&&=operators?今天偶然发现a&=GetBool();不一样a=a&&GetBool();多年来我一定误解了这一点。在第一个示例中,即使“a”为假,“GetBool()”也会执行。在第二个中,它不是。有什么可以在C#中实现类似“&&=”的东西吗?

c# - 转换表达式树

让有:Expression>exp1=x=>x.mesID==1;Expression>exp2=x=>x.mesID==1;现在我需要将exp1传递给_db.Messages.where(exp1);问题是我只有exp2,我需要将类型转换为Message,所有属性都是一样的!现在我这样做:varpar=Expression.Parameter(typeof(Message));varex=(Expression>)Expression.Lambda(exp2.Body,par);问题是输入参数被改变了是的!但是lambda“x.mesID”正文中的x是旧类型。有什么方法可以更改正文中

c# - 创建表达式以使用 out 参数调用方法

我正在尝试创建一个调用内部方法的表达式,该内部方法有一个out参数,这可能吗?publicclassProgram{staticvoidMain(string[]args){vartype=typeof(Program);varmethodInfo=type.GetMethod("ValidateActiveControl",BindingFlags.Instance|BindingFlags.NonPublic);varp1=Expression.Parameter(type,"program");varp2=Expression.Parameter(typeof(bool),"va

c# 将字符串表达式转换为 bool 表达式

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion是否可以将字符串表达式转换为bool条件?例如,我得到以下字符串:varb="3220"我想从中创建一个bool表达式并调用它。字符串表示也很灵活(让它更有趣),所以它允许||,&&,()。